Security Incidents Analysis: Global Patterns and Trends

1 Introduction

This section offers a global overview of security incidents using data from the Aid Worker Security Database, highlighting key geographic and temporal trends to better understand where violence against personnel is most concentrated.

The analysis reveals distinct hotspots of insecurity, which are explored further in the individual country reports that follow.

2 Dataset Overview

Dataset contains 4314 incidents across 95 countries
Time period covered: 1997 to 2025

3 Global Incident Distribution

Security incidents aren’t distributed evenly across the world. Some regions experience higher concentrations due to various factors including geopolitical tensions, economic disparities, and historical conflicts. Visualizing this distribution helps us identify global patterns.

The map below displays incidents across the globe, with colors indicating the severity based on the number of people affected:

  • Blue: No reported casualties
  • Green: 1-5 affected individuals
  • Orange: 6-20 affected individuals
  • Red: More than 20 affected individuals

Clustering is used to manage dense areas where multiple incidents occurred in close proximity.

Code
#| echo: false

import folium
from folium.plugins import MarkerCluster
import numpy as np

def create_better_incidents_map(data):
    center_lat = data['latitude'].mean()
    center_lon = data['longitude'].mean()

    # Use CartoDB dark theme for a sharper look
    incidents_map = folium.Map(location=[center_lat, center_lon], zoom_start=2, tiles="CartoDB dark_matter")

    marker_cluster = MarkerCluster().add_to(incidents_map)
    valid_coords = data[data['latitude'].notna() & data['longitude'].notna()]

    def get_color(affected):
        if pd.isna(affected) or affected == 0:
            return "#888888"  # muted gray
        elif affected <= 5:
            return "#64C1FF"  # light blue
        elif affected <= 20:
            return "#FF9A3C"  # orange
        else:
            return "#FF5252"  # red

    for _, row in valid_coords.iterrows():
        popup_text = f"""
        <b>Country:</b> {row['country']}<br>
        <b>Year:</b> {row['year']}<br>
        <b>Total Affected:</b> {row['total_affected']}<br>
        <b>Attack Type:</b> {row.get('means_of_attack', 'Unknown')}<br>
        """
        folium.CircleMarker(
            location=[row['latitude'], row['longitude']],
            radius=np.clip(row['total_affected'] / 2, 3, 10),  # dynamic sizing
            popup=folium.Popup(popup_text, max_width=300),
            fill=True,
            fill_opacity=0.75,
            color=get_color(row['total_affected']),
            fill_color=get_color(row['total_affected']),
            weight=0.8
        ).add_to(marker_cluster)

    return incidents_map

#| echo: false

global_incidents_map = create_better_incidents_map(df)
global_incidents_map.save("images/global_security_incidents_map.html")
global_incidents_map
Make this Notebook Trusted to load map: File -> Trust Notebook

The interactive map reveals that incidents are highly concentrated in specific regions, especially across parts of Africa and the Middle East.

You can zoom in on specific regions and click on individual markers to get more details about each incident, such as the country, year, total affected, and attack type.

5 Countries with Most Incidents: All-Time Analysis

First, let’s look at which countries have experienced the most security incidents over the entire period covered by our dataset:

This visualization highlights the countries that have historically been most affected by security incidents. Several factors might contribute to a country appearing on this list:

  • Long-standing regional conflicts
  • Political instability
  • Higher population (which can increase the absolute number of incidents)
  • More comprehensive reporting of incidents

7 Conclusion

This global analysis provides a comprehensive overview of the security challenges faced by humanitarian personnel across time and geography. By breaking down patterns in attack types, contexts, affected demographics, and organizational exposure, we gain insight into the evolving nature of these risks. While some regions remain persistent hotspots, new threats continue to emerge, underscoring the need for real-time monitoring and adaptive security strategies.

8 Next Steps

8.1 Analyze Individual Countries